/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mrp.persistencia.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author root
 */
@Entity
@Table(name = "lineaproduccion")
@NamedQueries({
    @NamedQuery(name = "Lineaproduccion.findAll", query = "SELECT l FROM Lineaproduccion l"),
    @NamedQuery(name = "Lineaproduccion.findByNumerolineaproduccion", query = "SELECT l FROM Lineaproduccion l WHERE l.numerolineaproduccion = :numerolineaproduccion"),
    @NamedQuery(name = "Lineaproduccion.findByNombrelineaproduccion", query = "SELECT l FROM Lineaproduccion l WHERE l.nombrelineaproduccion = :nombrelineaproduccion"),
    @NamedQuery(name = "Lineaproduccion.findByDescripcion", query = "SELECT l FROM Lineaproduccion l WHERE l.descripcion = :descripcion"),
    @NamedQuery(name = "Lineaproduccion.findByFechacreacion", query = "SELECT l FROM Lineaproduccion l WHERE l.fechacreacion = :fechacreacion"),
    @NamedQuery(name = "Lineaproduccion.findByDigitador", query = "SELECT l FROM Lineaproduccion l WHERE l.digitador = :digitador"),
    @NamedQuery(name = "Lineaproduccion.findByFechadigitador", query = "SELECT l FROM Lineaproduccion l WHERE l.fechadigitador = :fechadigitador")})
public class Lineaproduccion implements Serializable {
    @Basic(optional =     false)
    @NotNull
    @Column(name = "fechacreacion")
    @Temporal(TemporalType.DATE)
    private Date fechacreacion;
    @Basic(optional =     false)
    @NotNull
    @Column(name = "fechadigitador")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechadigitador;
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "numerolineaproduccion")
    private String numerolineaproduccion;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "nombrelineaproduccion")
    private String nombrelineaproduccion;
    @Size(max = 2147483647)
    @Column(name = "descripcion")
    private String descripcion;
    @Basic(optional = false)
    @NotNull
    @Column(name = "digitador")
    private int digitador;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "lineaproduccionFk")
    private List<Desgloseproyeccionlineaproduccion> desgloseproyeccionlineaproduccionList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "lineaproduccionFk")
    private List<Planmaestroproduccion> planmaestroproduccionList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "lineaproduccionFk")
    private List<Proceso> procesoList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "lineaproduccionFk")
    private List<Modelocalzado> modelocalzadoList;

    public Lineaproduccion() {
    }

    public Lineaproduccion(String numerolineaproduccion) {
        this.numerolineaproduccion = numerolineaproduccion;
    }

    public Lineaproduccion(String numerolineaproduccion, String nombrelineaproduccion, Date fechacreacion, int digitador, Date fechadigitador) {
        this.numerolineaproduccion = numerolineaproduccion;
        this.nombrelineaproduccion = nombrelineaproduccion;
        this.fechacreacion = fechacreacion;
        this.digitador = digitador;
        this.fechadigitador = fechadigitador;
    }

    public String getNumerolineaproduccion() {
        return numerolineaproduccion;
    }

    public void setNumerolineaproduccion(String numerolineaproduccion) {
        this.numerolineaproduccion = numerolineaproduccion;
    }

    public String getNombrelineaproduccion() {
        return nombrelineaproduccion;
    }

    public void setNombrelineaproduccion(String nombrelineaproduccion) {
        this.nombrelineaproduccion = nombrelineaproduccion;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public int getDigitador() {
        return digitador;
    }

    public void setDigitador(int digitador) {
        this.digitador = digitador;
    }

    public List<Desgloseproyeccionlineaproduccion> getDesgloseproyeccionlineaproduccionList() {
        return desgloseproyeccionlineaproduccionList;
    }

    public void setDesgloseproyeccionlineaproduccionList(List<Desgloseproyeccionlineaproduccion> desgloseproyeccionlineaproduccionList) {
        this.desgloseproyeccionlineaproduccionList = desgloseproyeccionlineaproduccionList;
    }

    public List<Planmaestroproduccion> getPlanmaestroproduccionList() {
        return planmaestroproduccionList;
    }

    public void setPlanmaestroproduccionList(List<Planmaestroproduccion> planmaestroproduccionList) {
        this.planmaestroproduccionList = planmaestroproduccionList;
    }

    public List<Proceso> getProcesoList() {
        return procesoList;
    }

    public void setProcesoList(List<Proceso> procesoList) {
        this.procesoList = procesoList;
    }

    public List<Modelocalzado> getModelocalzadoList() {
        return modelocalzadoList;
    }

    public void setModelocalzadoList(List<Modelocalzado> modelocalzadoList) {
        this.modelocalzadoList = modelocalzadoList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (numerolineaproduccion != null ? numerolineaproduccion.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Lineaproduccion)) {
            return false;
        }
        Lineaproduccion other = (Lineaproduccion) object;
        if ((this.numerolineaproduccion == null && other.numerolineaproduccion != null) || (this.numerolineaproduccion != null && !this.numerolineaproduccion.equals(other.numerolineaproduccion))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "mrp.persistencia.entity.Lineaproduccion[ numerolineaproduccion=" + numerolineaproduccion + " ]";
    }

    public Date getFechacreacion() {
        return fechacreacion;
    }

    public void setFechacreacion(Date fechacreacion) {
        this.fechacreacion = fechacreacion;
    }

    public Date getFechadigitador() {
        return fechadigitador;
    }

    public void setFechadigitador(Date fechadigitador) {
        this.fechadigitador = fechadigitador;
    }
    
}
